I think it needs to be recognised that for many programmers XML (and
their ilk) are just a means to an end. The less time they can spend
there the better. They want to make lights flash, disks spin, dialogs
appear etc. So they figure "I need the option of different types here"
so "I need polymorphism" and then they ask "how do I define a base class
in XML to do polymorphism?"
Right. The Vikings wandered into Greenland, try to do what they always
did, and are sad when things don't work out.Plus I think coding activity (at least traditionally) is all about
organising stuff and constraining chaos. Even on a good day, when
you've dotted all your "I"s and crossed all your "T"s, things rarely go
as well as you'd hope. Thus when something with a "name" parameter is
added to a system they want to quickly answer unequivocally "which name
is that?" and bolt it down as quickly as possible to limit the increased
entropy. The XML practitioners approach seems to be "Yo, more names.
Cool. We'll put you over here to start with, but we might move you later."
Yes - that's what I meant about "the data hygiene and mental hygiene of
programming are not appropriate for markup".