ASN.1 instead of XML Schema
I'm a little late to the party, but ASN.1 looks like a nice alternative to XML Schema when you want to programmatically define some XML format.
(I hear that the Structured Blogging guys uses ASN.1 to write their schemas - so simple-event.xsd, for example, is just the output from a much simpler file.)