One thing you can try is to take out the external binding and make sure you do not use -npa switch for xjc. Then the schema will be compiled with namespace info contained in package-info.java. You can then manually delete or rename it with an extension other than .java. After doing that, I think you can safely unmarshal and marshal an xml document belonging to no namespace, as long as you don't validate it with the original schema.
 But what I don't understand the business logic here is that if you can do thing like , you can as well just retouch the schema(s) by eliminating the targetNamespace(s) and its ramifications for the purpose of adapting to the changing requirement in the sense that you now have to deal with incoming doc without namespace rather than having one originally.
 Given the assumption that you don't really want to touch the schema files and you don't want neither to do anything on the generated source .java files and nevertheless want to deal with the no namespace case, you can do it like this. You can write an XMLFilter implementation, mapping the startElement from no namespace to having the namespace coincident with the targetNamespace in the schema(s)... Make it stand between the sax reader and streaming to the unmarshaller. In that case all the addition measures are taken place in the application level leaving the compilation package and schema intact. This would be a cleaner approach in case  or  is not an option as they make modification to the package related to the schema compilation. This approach should work but I confess that it does sound a bit abstract until one makes their hands dirty in implementing it which is not overwhelmingly complicated for this shown simple document structure.
I’ve looked at a lot of different solutions, and in my humble opinion Aspose is the way to go. Here’s the link: http://aspose.com
subject: How can i remove namespace from the generated JAXB File ?