def _to_colon_ns(bracket_ns, default_ns=None, nsmap=None, snake=True):
    """Convert a namespaced tag/attribute name from explicit XML "bracket"
    notation to a more succinct Pythonic colon-separated notation using
    snake_case, e.g.,::

        >>> _to_colon_ns(
            '{info:lc/xmlns/premis-v2}objectIdentifier',
            'premis', utils.NAMESPACES)
        'object_identifier'
        >>> _to_colon_ns('{info:lc/xmlns/premis-v2}objectIdentifier')
        'premis:object_identifier'
        >>> _to_colon_ns(
            'http://www.w3.org/2001/XMLSchema-instance}schemaLocation')
        'xsi:schema_location'
    """
    parts = [x.strip("{") for x in bracket_ns.split("}")]
    if len(parts) != 2:
        return bracket_ns
    ns, var = parts
    if default_ns and nsmap:
        try:
            ns = [k for k, v in nsmap.items() if v == ns][0]
            if ns == default_ns:
                if snake:
                    return utils.camel_to_snake(var)
                return var
        except IndexError:
            pass
    if snake:
        return ":".join([ns, utils.camel_to_snake(var)])
    return ":".join([ns, var])