def METHOD_NAME(cls, qname: str, value: Any) -> AttrType:
    def match_type(val: Any) -> DataType:
        if not isinstance(val, str):
            return DataType.from_value(val)
        for tp in converter.explicit_types():
            if converter.test(val, [tp], strict=True):
                return DataType.from_type(tp)
        return DataType.STRING
    if qname == QNames.XSI_TYPE:
        data_type = DataType.QNAME
    elif value is None or value == "":
        data_type = DataType.ANY_SIMPLE_TYPE
    else:
        data_type = match_type(value)
    return AttrType(qname=str(data_type), native=True)