def are_equivalent(a_xml, b_xml, encoding=None):
    """Return True if two XML docs are semantically equivalent, else False.

    - TODO: Include test for tails. Skipped for now because tails are not used in any
      D1 types.

    """
    assert isinstance(a_xml, str)
    assert isinstance(b_xml, str)
    a_tree = str_to_etree(a_xml, encoding)
    b_tree = str_to_etree(b_xml, encoding)
    return are_equal_or_superset(a_tree, b_tree) and are_equal_or_superset(
        b_tree, a_tree
    )