Is there a way to declare an alias for element attributes? For example I’ve got an element <Item> with two boolean attributes fooAttribute and barAttribute, with aliases foo and bar such that any of the following is valid:
<Item foo="true" bar="false" />
<Item foo="true" barAttribute="false" />
<Item fooAttribute="true" bar="false" />
<Item fooAttribute="true" barAttribute="false" />
The short answer is not in XSD 1.0. You could combine XSD 1.0 with another schema language (RelaxNG or Schematron), if you want.
In XSD 1.1 you could define both variants of the attribute, point to the same simple type for some sort of reuse, and then define assertions to make them mutually exclusive.