XML (via SGML) was designed for marking up text, not for encoding data/object structures, so it's not surprising that it isn't particularily suited for the latter. There exists many alternatives similar to your Basic Notation.
This Java guy has an interesting (and very powerful) alternative to XAML, look for F3 on this blog: