Get schema class by data type.

        :param type data_type: data type from where get schema class.
        :param bool besteffort: if True and data_type not registered, parse all
            registered data_types and stop when once data_type is a subclass of
            input data_type.
        :return: sub class of Schema.
        :rtype: type

def getbydatatype(self, data_type, besteffort=True):
        """Get schema class by data type.

        :param type data_type: data type from where get schema class.
        :param bool besteffort: if True and data_type not registered, parse all
            registered data_types and stop when once data_type is a subclass of
            input data_type.
        :return: sub class of Schema.
        :rtype: type
        """
        result = None

        if data_type in self._schbytype:
            result = self._schbytype[data_type]

        elif besteffort:
            for rdata_type in self._schbytype:
                if issubclass(data_type, rdata_type):
                    result = self._schbytype[rdata_type]
                    break

        return result