org.apache.xindice.client.xmldb.DatabaseImpl uses class for name to load classes that seem local to the package.
As Class is in the system classloader, if xindice is not loaded by the system class loader then the driver classes may not be visable. getClass().getClassLoader().loadClass( "foo" ); would be safer. There is no way for the user to change what classes are used so why aren't the instances just constructed (am I missing something?)? -k.