Tim Bray, in blogging a recent post by Elliotte Rusty Harold, says "W3C XML Schemas (XSD) suck." and suggests you use RelaxNG.
I've been saying this for years to the folks that would listen - I'm glad folks like Tim can now say it out loud.
BTW, the ISO version of RelaxNG (the really formal version) is now available for free (here and here).