SubmodelElementListsHaveExactlyOneElementInTree🔗
Recursively check that submodel element lists have exactly one child.
Code
if isinstance(element, Submodel_element_list):
return (
element.value is not None
and len(element.value) == 1
and all(
submodel_element_lists_have_exactly_one_element_in_tree(child)
for child in element.value
)
)
if isinstance(element, Submodel_element_collection):
return element.value is None or all(
submodel_element_lists_have_exactly_one_element_in_tree(child)
for child in element.value
)
if isinstance(element, Entity):
return element.statements is None or all(
submodel_element_lists_have_exactly_one_element_in_tree(child)
for child in element.statements
)
if isinstance(element, Annotated_relationship_element):
return element.annotations is None or all(
submodel_element_lists_have_exactly_one_element_in_tree(child)
for child in element.annotations
)
return True