<SYSTEM_TASK:>
Solve the following problem using Python, implementing the functions described below, one line at a time
<END_TASK>
<USER_TASK:>
Description:
 def split_qname(self, cybox_id):
 """ Separate the namespace from the identifier in a qualified name and lookup the namespace URI associated with the given namespace. """

        if ':' in cybox_id:
            (namespace, uid) = cybox_id.split(':', 1)
        else:
            namespace = None
            uid = cybox_id

        if namespace and namespace in self.namespace_dict:
            namespace_uri = self.namespace_dict[namespace]
        else:
            logger.warning("Could not retrieve namespace for identifier %s" % (cybox_id))
            # TODO: Introduce configurable URI
            namespace_uri = None

        if not namespace_uri:
            if self.default_identifier_ns_uri:
                namespace_uri = self.default_identifier_ns_uri
            else:
                namespace_uri = "%s/%s" % (DINGOS_MISSING_ID_NAMESPACE_URI_PREFIX, namespace)

        return (namespace, namespace_uri, uid)