I would rather not use "URIValidator", which is too long and excludes the fixing aspect of the class. I might go with "URIDef", in accordance with some other classes named the same way (AttrDef and ChildDef) but Definition doesn't imply it will do anything (which might mean that the other ones are wrong too). Also, not having URI in the name would be helpful, since people are always mixing up URL and URI.
And once that's been picked, I need a name for a hierarchy of classes that this "URIDef" class will defer processing to based on the scheme of the URI (you know, like URIScheme_http, URIScheme_ftp, etc.) Once again, preferably without URI in the name. "Scheme" is a little too vague however...
While we're on the topic, it would be nice to know whether or not you think the retrieval and loading of the scheme classes should be handled by "URIDef" or seperated into a distinct "URISchemaRegistry".
Finally, it would be nice to know whether or not this URIDef should inherit from AttrDef, which maintains exactly the same interface. The only difference is context: AttrDef is only called for validation of HTML attributes, while URIDef may be called by the CSSDef too. My reasoning is that since they're so complicated, we ought to just give them their own hierarchies.
It's funny, but the naming issue is the only thing that's stopping me from actually coding the class.