Uche Ogbuji has nicely summed up why XML has done so well at cutting across environments, platforms, and mindsets. In a posting on the xml-dev mailing list, he notes:
“It is precisely the fact that every
programming language, platform, tool, DBMS, etc. out there
has a different and usually mutually incompatible notion of
core data types that makes it valuable that XML is grounded
This divorces data expressed in XML from physical representation issues (save Unicode), and I think it is the single most significant reason for XML’s success as an integration tool.“
XML’s textual approach, relative verbosity, and structures that fit neither relational databases nor object structures are often criticized by developers, but Ogbuji sees a much graver threat in force-fitting XML’s structures to match programmer expectations:
“As soon as you start to inject the welter
of all these other systems into the foundation of XML, you
lose this facility, or more precisely, as the Schema group
did with their data types, you invent yet another different
and incompatible type system.“
So where does this leave programmers? They should “impose the desired view on what is lexically expressed in XML in a separate layer.”
XML does more by doing less, and will likely do less if it is expected to do more.
How strong do you want your types?