Lists Home |
Date Index |
Data is hard for programmers.
XML has made data easier for programmers by giving it a standard, easily
processed representation. As Tim points out, it's still harder to deal with
XML than with the native structures of any language. For instance, objects
are easier for object oriented languages than the XML equivalent that
contains the same data. So you wind up working with libraries like the DOM,
that seem like one level of indirection off from the business logic, or you
wind up using regular expressions with Perl....
Or you use a language that understands XML, like XSLT or XQuery. And if you
want to be able to use the XML Schema types, you can import the types into
XQuery. Tim dismissed the notion of using an XML-oriented language with two
1. Tim notes that SQL isn't used for business logic, and asks why XQuery
should be different. Well, as Tim points out, you can't implement any
serious business logic in SQL. You can in XQuery. I think that makes a
difference. Of course, the lack of updates in XQuery 1.0 is an important
limitation - and one that will be overcome.
2. Tim says that there is no one data model for XML, and without a data
model you can't have a language. As proof, he says:
Empirical evidence: I can point to a handful of different popular
XML-in-Java APIs each of which has its own data model and each of
which works. So why would you think that there's a data model
there to build a language around?
I find this a strange argument. Each of these APIs depends on having a data
model, and demonstrates that data models for XML can be created. A language
like XQuery or XSLT also needs to have such a data model, but the fact that
another API or language might choose a different datamodel is rather
irrelevant. After all, it's possible to have an object oriented programming
language even though a different object oriented language would represent
the same data in a different way.