<SYSTEM_TASK:>
Solve the following problem using Python, implementing the functions described below, one line at a time
<END_TASK>
<USER_TASK:>
Description:
 def get_pyxb_binding_by_api_version(api_major, api_minor=0):
 """Map DataONE API version tag to PyXB binding. Given a DataONE API major version number, return PyXB binding that can serialize and deserialize DataONE XML docs of that version. Args: api_major, api_minor: str or int DataONE API major and minor version numbers. - If ``api_major`` is an integer, it is combined with ``api_minor`` to form an exact version. - If ``api_major`` is a string of ``v1`` or ``v2``, ``api_minor`` is ignored and the latest PyXB bindingavailable for the ``api_major`` version is returned. Returns: PyXB binding: E.g., ``d1_common.types.dataoneTypes_v1_1``. """

    try:
        return VERSION_TO_BINDING_DICT[api_major, api_minor]
    except KeyError:
        raise ValueError(
            'Unknown DataONE API version: {}.{}'.format(api_major, api_minor)
        )