<SYSTEM_TASK:>
Solve the following problem using Python, implementing the functions described below, one line at a time
<END_TASK>
<USER_TASK:>
Description:
 def build_argument_parser(executable):
 """creates an argument parser from the given `executable` model. An argument '__xml__' for "--xml" is added independently. :param executable: CLI Model :type executable: clictk.model.Executable :return: """


    a = ArgumentParser()
    a.add_argument("--xml", action="store_true", dest="__xml__", help="show cli xml")

    for p in executable:
        o = []
        if p.flag: o.append("-%s" % p.flag)
        if p.longflag: o.append("--%s" % p.longflag)
        a.add_argument(
            *o,
            metavar=p.type.upper(),
            dest=p.name,
            action="store",
            help=(p.description.strip() or "parameter %s" % p.name)
        )

    return a