This set of changes allows you to use the EntityResolver.resolveEntity() callback to intercept the 'xmlns' attribute and supply your own Schema InputSource. It works just as it does for an external DTD subset. Rather than appending the diffs, I put them on an ftp server... ftp://ftp.peakin.com/pub/xerces/XMLParser.diff ftp://ftp.peakin.com/pub/xerces/XSchemaValidator.diff
WARNING: To make this work, I had to change XSchemaValidator.loadSchema() so that it accepts an org.xml.sax.InputSource rather than a String. It gets called only from one place in XMLParser so I didn't think this would be a big deal. The diffs are against XMLParser v1.4 and XSchemaValidator v1.3 and encompass the earlier changes I posted to this list. george