It validates fine with xerces.
I'd guess it's that particular online validator. I've had trouble with it before, for more complex/unusual schemas. For example, if you look at the last error, it had trouble with the [-]
in your regex (which it should accept). BTW: it was because of such problems with this particular online validator, and all the other ones I tried (and even with installing xmllint
) that I started using xerces. No problems so far.
On a hunch, I removed the entity definitions from your xml (and all the uses!), and that online validator then accepted it.
Answer: It's not you. http://www.xmlvalidation.com/ seems to be going wrong.