XML is popular for a reason, folks

And now for some good old journal-type blogging. Last night I had a debate (as I seemingly frequently do) about XSLT and XML in general. Now, usually I get relatively heated but this time I didn't. The conversation all began after I had suggested the use of XSLT for something (if I recall correctly) and someone else decided to say "XSLT is rubbish".

Here is an annotation of the conversation, as extracted from my IRC logs.

XSLT is hardly rubbish. It's useful, standard, and reusble. However just with all the rest of XML technologies it's not particularly useful unless you use it with all of the rest of the XML technologies.

heh, let me back up a minute — xml is rubbish, which automatically makes xslt pretty damn crappy.

xml is unnecessarily verbose, its selling points are that it's plain text and heirarchical, which are easily replicable in other ways, s-expressions being one of them

XML is only rubbish if you think of it as a serialization format, which it is not. And not being a serialization format you cannot compare it to anything like JSON or YAML, and if you are doing so you should think about the difference between marking up and serializing data.

for the record, yaml is rubbish as well

Don't forget JSON. It's definitely rubbish as far as wire or configuration formats are concerned.

the selling point is the fact that you can powerfully markup data in a flexible reusable way, mark up a series of different types of data in the same data set, and that you can use it to represent a great many things in a standardized format

and by a great many things I mean of course anything from a web page to scalable vector graphics or a collection of resources.

there is no other *collection of technologies* which compare to this.

true, but that's because xml came first…which of course doesn't mean xml is the best choice

Yes, actually it does. XML is the only choice for a large set of things. It just happens to have greater than and less thans surrounding entities and a variety of other things which people may not like, but because there isn't anything else quite capable nor nearly as future proof, it's the best choice for a large series of problems (notice, I didn't say all problem

But you will miss the point until you look at the entire collection of technologies and how you can employ them all together, with a single common (very efficient) parser and utilize them to build distributed applications which speak to eachother in a clean, standardized fasion.

i've done that for several years now, particularly with SOAP/WSDL (I used to be a MS MVP when .NET came out)

for one thing, even though soap's a standard, it's not implemented the same between .net/java/perl

it is, sort of. You have to find the base line which is not a problem centric to XML in any way, SOAP has a large series of issues which are quickly disappearing (as each round of new versions of soap implementations come around, people realize soap is more about WSDL than it is about SOAP — and crap like section 5 encoding is disappearing…and soap is starting not to suck as bad as it did when it was XML-RPC!)

yeah — well, as far as the gradually improving landscape goes, you could say that about most things. but yeah, xml is better than yaml, though i only think it has the foothold it does now because it came before anyone really figured out we needed something for data exchange

but the large collection of XML things have been and will continue to evolve to display that when they came up with XML, they were atleast thinking along the right lines. Although XML is slightly obnoxious in terms of a normal old configuration file (but useful, since you probably already have the parser ready) it's pretty much absolutely fucking awesome for describing documents — which is almost always the end result of all applications, anyway.

moreover, only .net provides a half-decent way to generate wsdl

The way I see it, WSDL shouldn't be generated anyway. However, there are other tools to do this which do so satisfactorily (Axis' Java2WSDL comes to mind). It's of my opinion that it's more effective and provides a better, cleaner API to use WSDL as a generation source, as opposed to the other way around.

Comment by brianwisti on Mon Dec 11 13:34:55 2006

I'm guessing that this isn't all you. But … umm … which parts are you?

Comment by scott on Wed Dec 13 12:08:47 2006

It starts with me. In each level of the conversation (like an email thread) the author alternates.

Comments are no longer allowed on this page due to vandalism