'Scan the given file and return data as a CIX document.
"request" is a ScanRequest instance.
This method MUST be re-entrant. The scheduler typically runs a pool
of scans simultaneously so individual drivers can be called into from
multiple threads.
If the scan was successful, returns a CIX document (XML). Note: the
return value should be unicode string, i.e. NOT an encoded byte
string -- encoding to UTF-8 is done as necessary elsewhere.
Raises a CILEError if there was a problem scanning. I.e. a driver
should be resistant to CILE hangs and crashes.'

def scan(self, request):

    raise VirtualMethodError('CILEDriver.scan')
