def getrecordbyid(self, id=[], esn='<STR_LIT>', outputschema=namespaces['<STR_LIT>'], format=outputformat):
<EOL>data = {<EOL>'<STR_LIT>': self.service,<EOL>'<STR_LIT:version>': self.version,<EOL>'<STR_LIT>': '<STR_LIT>',<EOL>'<STR_LIT>': format,<EOL>'<STR_LIT>': outputschema,<EOL>'<STR_LIT>': esn,<EOL>'<STR_LIT:id>': '<STR_LIT:U+002C>'.join(id),<EOL>}<EOL>self.request = urlencode(data)<EOL>self._invoke()<EOL>if self.exceptionreport is None:<EOL><INDENT>self.results = {}<EOL>self.records = OrderedDict()<EOL>self._parserecords(outputschema, esn)<EOL><DEDENT>
Construct and process a GetRecordById request

Parameters
----------

- id: the list of Ids
- esn: the ElementSetName 'full', 'brief' or 'summary' (default is 'full')
- outputschema: the outputSchema (default is 'http://www.opengis.net/cat/csw/2.0.2')
- format: the outputFormat (default is 'application/xml')