I like the proposal, and I don't mind using attributes.  The concern I have is 
that processing XSchemas now requires a lot of extra checking on the 
'correctness' of the XSchema.  Using the elements, convoluted though it was, 
allowed the use of a simple validation (okay, it's ironic) to make sure that 
the XSchema wasn't attempting to provide an odd combination of functionality.
Does this extra overhead for checking XSchemas bother anyone?  The goals said 
that XSchema would have a DTD, not that an XSchema that can validate against 
the DTD would be functionally correct.  (Or some such weirdness.)  So far 
we've been using the DTD to constrain the XSchema's possible content.  This 
would be a change of philosophy in that regard.
Simon St.Laurent
Dynamic HTML: A Primer / XML: A Primer / Cookies