I haven’t worked with the Resolver class, but if you call the method via the class (and not by self.), shouldn’t the first parameter be self?
> class simple_string_resolver(etree.Resolver):
> def resolve(self, url, id, context):
> # pass this byte object to the resolve_string method
> return etree.Resolver.resolve_string(content, id, context, base_url=url)
according to http://lxml.de/1.3/resolvers.html#resolvers
should work. (and do the same, as long as you do not overwrite resolve_string in your simple_string_resolver class.).
Also, you may want to follow PEP 8
when naming things (like SimpleStringResolver).