docs: def json(self):
          """Produce a JSON representation for the web interface"""
          d = { 'id': self.id, 'format': self.formatclass.__name__,'label': self.label, 'mimetype': self.formatclass.mimetype,  'schema': self.formatclass.schema }
          if self.unique:
              d['unique'] = True
          if self.filename:
              d['filename'] = self.filename
          if self.extension:
              d['extension'] = self.extension
          if self.acceptarchive:
              d['acceptarchive'] = self.acceptarchive
          #d['parameters'] = {}
  
          #The actual parameters are included as XML, and transformed by clam.js using XSLT (parameter.xsl) to generate the forms
          parametersxml = ''
          for parameter in self.parameters:
              parametersxml += parameter.xml()
          d['parametersxml'] = '<?xml version="1.0" encoding="utf-8" ?><parameters>' + parametersxml + '</parameters>'
          d['converters'] = [ {'id':x.id, 'label':x.label} for x in self.converters ]
          d['inputsources'] = [ {'id':x.id, 'label':x.label} for x in self.inputsources ]
  
          return json.dumps(d)