Serialization format has no relation with schemas. Also, Schema validation can be as strict or lax as you want it to be.
I wrote Spyne (in Python) mainly to abstract the schema from the serialization format. The protocols are totally pluggable and your code cares only about the models and not the serialization format. The latest alpha is out not long ago. Check it out if this sounds interesting.
https://github.com/arskom/spyne
Code generator: http://spyne.io