docs: def query(input, representation, resolvers=None, **kwargs):
      """ Get all results for resolving input to the specified output representation """
      apiurl = API_BASE+'/%s/%s/xml' % (urlquote(input), representation)
      if resolvers:
          kwargs['resolver'] = ",".join(resolvers)
      if kwargs:
          apiurl+= '?%s' % urlencode(kwargs)
      result = []
      try:
          tree = ET.parse(urlopen(apiurl))
          for data in tree.findall(".//data"):
              datadict = {'resolver':data.attrib['resolver'],
                          'notation':data.attrib['notation'],
                          'value':[]}
              for item in data.findall("item"):
                  datadict['value'].append(item.text)
              if len(datadict['value']) == 1:
                  datadict['value'] = datadict['value'][0]
              result.append(datadict)
      except HTTPError:
          # TODO: Proper handling of 404, for now just returns None
          pass
      return result if result else None