docs: def parseExtensionArgs(self, ax_args):
          """Parse attribute exchange key/value arguments into this
          object.
  
          @param ax_args: The attribute exchange fetch_response
              arguments, with namespacing removed.
          @type ax_args: {unicode:unicode}
  
          @returns: None
  
          @raises ValueError: If the message has bad values for
              particular fields
  
          @raises KeyError: If the namespace mapping is bad or required
              arguments are missing
          """
          self._checkMode(ax_args)
  
          aliases = NamespaceMap()
  
          for key, value in ax_args.iteritems():
              if key.startswith('type.'):
                  type_uri = value
                  alias = key[5:]
                  checkAlias(alias)
                  aliases.addAlias(type_uri, alias)
  
          for type_uri, alias in aliases.iteritems():
              try:
                  count_s = ax_args['count.' + alias]
              except KeyError:
                  value = ax_args['value.' + alias]
  
                  if value == u'':
                      values = []
                  else:
                      values = [value]
              else:
                  count = int(count_s)
                  values = []
                  for i in range(1, count + 1):
                      value_key = 'value.%s.%d' % (alias, i)
                      value = ax_args[value_key]
                      values.append(value)
  
              self.data[type_uri] = values