docs: def xml(self, indent = ""):
          """Serialise provenance data to XML. This is included in CLAM Metadata files"""
          xml = indent + "<provenance type=\"clam\" id=\""+self.serviceid+"\" name=\"" +self.servicename+"\" url=\"" + self.serviceurl+"\" outputtemplate=\""+self.outputtemplate_id+"\" outputtemplatelabel=\""+self.outputtemplate_label+"\" timestamp=\""+str(self.timestamp)+"\">"
          for filename, metadata in self.inputfiles:
              xml += indent + " <inputfile name=\"" + clam.common.util.xmlescape(filename) + "\">"
              xml += metadata.xml(indent + " ") + "\n"
              xml += indent +  " </inputfile>\n"
          if self.parameters:
              xml += indent + " <parameters>\n"
              if isinstance(self.parameters, dict):
                  parameters = self.parameters.values()
              elif isinstance(self.parameters, list):
                  parameters = self.parameters
              for parameter in parameters:
                  xml += parameter.xml(indent +"  ") + "\n"
              xml += indent + " </parameters>\n"
          xml += indent + "</provenance>"
          return xml