I've written an application that checks if an XSD file is valid.
In Java 5 everything is ok but in Java 6 there seems to be a problem.
It seems that if SchemaFactory.newInstance.newSchema is provided with DOMSource, then the validation is valid, even if the DOM is invalid.
To be more specific the first time the DOM is validated, if the DOM is invalid, it notifies that it is invalid,
but the rest of the times the validation seems to think that the DOM is valid.
If newSchema is provided with File then there's no problem.
On this matter, it is important to know which dom parser (builder/factory) the application is actually in use. Different implementation entails slightly different setup to make it work and/or simply unsupporting re-validation of loaded dom tree. Could you check that first and post the finding? You may use getClass().getName() to discover what implementation is actually in use.