First note: debugging XML and RelaxNG schemas while hung-over and trying to pair program makes for a long day.
Second note: debugging XML and RelaxNG schemas while hung-over and trying to pair program and discovering that xmllint has a nasty habit of lying about errors really sucks.
Third note: debugging XML and RelaxNG schemas while hung-over and trying to pair program and discovering that xmllint has a nasty habit of lying about errors and discovering that msv doesn't lie about errors but also misses errors that xmllint catches just makes this a truly, truly crappy day.
In other news: "oh, because we could never agree on a namespace, we just rewrite the namespace of their documents as soon as they come into our system. And yeah, there are effectively two schemas it needs to validate against."