def parse_types_composite(self, parent: TypeCollection, element):
    'parse types/composite'
    attributes = self.parse_common_attributes(element, attributes=COMPOSITE_ATTRIBUTES_LIST)
    sbe_composite = createComposite(**attributes)
    parent.addType(sbe_composite)
    for child_element in element:
        tag = child_element.tag
        if (tag not in VALID_COMPOSITE_CHILD_ELEMENTS):
            raise ValueError(f'invalid child element {repr(tag)} in composite element {repr(sbe_composite.name)}')
        parser = getattr(self, f'parse_types_{tag}', None)
        if (not parser):
            raise RuntimeError(f'unsupported types parser {repr(child_element.tag)}')
        parser(sbe_composite, child_element)
parse types/composite
def parse_types_composite(self, parent: TypeCollection, element):
    
    attributes = self.parse_common_attributes(element, attributes=COMPOSITE_ATTRIBUTES_LIST)
    sbe_composite = createComposite(**attributes)
    parent.addType(sbe_composite)
    for child_element in element:
        tag = child_element.tag
        if (tag not in VALID_COMPOSITE_CHILD_ELEMENTS):
            raise ValueError(f'invalid child element {repr(tag)} in composite element {repr(sbe_composite.name)}')
        parser = getattr(self, f'parse_types_{tag}', None)
        if (not parser):
            raise RuntimeError(f'unsupported types parser {repr(child_element.tag)}')
        parser(sbe_composite, child_element)