<SYSTEM_TASK:>
Solve the following problem using Python, implementing the functions described below, one line at a time
<END_TASK>
<USER_TASK:>
Description:
 def data_find_all(data, path, dyn_cls=False):
 """Find and return all element-as-tuples in tuple ``data`` using simplified XPath ``path``. """

    path_parts = path.split("/")
    try:
        sub_elms = tuple(
            el
            for el in data
            if isinstance(el, (tuple, list)) and el[0] == path_parts[0]
        )
    except IndexError:
        return None
    if len(path_parts) > 1:
        ret = []
        for sub_elm in sub_elms:
            for x in data_find_all(sub_elm, "/".join(path_parts[1:])):
                ret.append(x)
        ret = tuple(ret)
    else:
        ret = sub_elms
    if ret and dyn_cls:
        cls = generate_element_class(ret[0])
        return tuple(cls(data=tuple_) for tuple_ in ret)
    return ret