Celebrate the XML Decade 177
IdaAshley writes "IBM Systems Journal recently published an issue dedicated to XML's 10th anniversary. Take a look at XML application techniques, and general discussion of the technical, economic and even cultural effects of XML. Learn why XML has been successful, and what it would take for XML to continue its success."
Re:Celebrate the XML Decade (Score:5, Funny)
I started this morning by talking to everyone in XML.
I hope the black eye my coworker gave me heals before my presentation to the CTO tomorrow morning
Re:Celebrate the XML Decade (Score:5, Funny)
We all needed to leave the first post in this to the guy with
the sig
"XML is like violence, if it doenst fix the problem, you arent using enough"
Or words to that effect.
Re:Celebrate the XML Decade (Score:4, Insightful)
My conspiracy theory is that XML was secretly invented by Intel in order to require 3GHz processors for the simplest of tasks.
Re: (Score:2)
Re: (Score:2)
I first saw it, especially since I was working for a place
that seemed to apply that theory liberally. You just could
not read the code and know what would happen, it was all
driven by the XML fed into it.
Re:Celebrate the XML Decade (Score:5, Funny)
<greeting type="friendly">Hello, fellow coworker type dude!</greeting>
<response type="violent">Have a black eye!</response>
</conversation>
Re:Celebrate the XML Decade (Score:4, Funny)
Re:Celebrate the XML Decade (Score:5, Funny)
I took the liberty of revising the format a little, is this better?
<?xml version="1.0" encoding="UTF-8" standalone="no"?>o n"
<conversation
xmlns="http://slashdot.org/sarcasm/XML/conversati
xmlns:html="http://www.w3.org/1999/xhtml">
<participants>
<participant>
<short-name>OP</short-name>
<full-name>Original poster</full-name>
</participant>
<participant>
<short-name>CW</short-name>
<full-name>Unwitting coworker</full-name>
</participant>
</participants>
<relationships>
<two-way-relationship name="coworker">
<person>OP</person>
<person>CW</person>
</two-way-relationship>
</relationships>
<greeting time="2006-11-17T10:12:10Z" speaker="OP" targets="CW">
<type>
<demeanour>friendly</demeanour>
</type>
<speech>
<text type="text/plain">
Hello, fellow coworker type dude!
</text>
</speech>
</greeting>
<response time="2006-11-17T10:12:34Z" speaker="CW" targets="OP">
<type>
<demeanour>angry</demeanour>
<context>
<divorce type="messy"/>
<custody-battle type="messy"/>
</context>
</type>
<speech>
<text type="application/xhtml+xml">
Have a <html:em>black eye</html:em>!
</text>
</speech>
<action>
<punch>
<recipient>OP</recipient>
<aim>eye</aim>
</punch>
</action>
</response>
</conversation>
I'm sort of disappointed that I only got to use two namespaces. Can't get indentation to work either, unfortunately.
Re: (Score:2)
You're his co-worker, aren't you? Glad to see you've calmed down a bit.
XML Debacle is more like it ;) (Score:3, Funny)
Eh, what do I know? Maybe it is that bad. =)
Re: (Score:3, Funny)
Care to share the DTD and schema you used for that?
Why XML was successful (Score:4, Insightful)
Marketing to PHBs, mostly.
However here on earth a lot of people still hand-code the stuff. IMO a C-like syntax using nested {}s would've been better.
Re:Why XML was successful (Score:5, Informative)
JSON [wikipedia.org]?
Re:Why XML was successful (Score:5, Interesting)
When we designed XML, we had over a decade of solid experience with interoperability in the world of SGML, and we also knew about the kinds of problems that different sorts of users had with different sorts of syntax.
The primary users of SGML-based documentation systems were not programmers. They were people who were often not likely to know about a bracket-matching option in an editor or about code indenting, for example. But they were still legitimate users.
You can't easily test the markup in a declarative system: if in an HTML document I used H3 instead of P in a document it might not look right, but it would still parse OK. If I muddle up Author and Title in a bibliography, same thing.
So, the redundancy of end tags in XML is there because, in practice, if you didn't have it, we had learned that our users had problems correcting their documents, and we knew that, in general, it was only rarely possible for software to give the users much help. There were some experiments early on with </>, allowed by SGML (with various options set) to end any element; it soon became obvious that this caused more problems than it was worth, and even Microsoft disabled the troublesome feature in their XML parser.
It's true that today XML is used in lots of situations we didn't predict. We were amazed that by the time we got XML published as a Recommendation there were over 200 users. So no, we didn't predict the future percfectly. But the popularity of XML shows we can't have done all that badly, really
Liam
(Liam Quin, currently W3C XML Activity Lead)
Re: (Score:3, Insightful)
Re:Why XML was successful (Score:4, Informative)
One case where it helps most is when an incorrect start tag was applied; with the empty end tag this could not be detected, and it turned out to be more comman than one might expect. You're right that the error messages often aren't good, but did you ever try debugging a large SGML document with OMITTAG and SHORTREF in use? The error message was almost always "characters found after end of document" because the required strategy by SGML (in one of the most common error situations) was to close elements until you got a match, so the parser typically closed elements all the way up the tree to the document element, and then gave up.
We were bound, at the time, to strict SGML compatibility; perhaps if we had known XML would succeed we could have made more changes, but then we would have strayed further from the well-trodden path of implementation experience.
As to comments for attributes, I agree with you; we lost them, though because we needed a language simple enough it could be processed e.g. with Perl. We didn't dare dream that Perl would support XML natively!
I agree with you that structured tools should generally be used. The redundancy and simplicity help computer-generated XML, and help to detect, say, missing portions of documents. If xml-rpc is scary, s-expr rpc is even scarier!
Liam
Re: (Score:2)
If you're going to make claims about the usability of something like XML, you better be able to back them up with user studies. Of course, there are none. But, in fact, you don't even seem to be clear on the concept of what you were optimizing: err
Re: (Score:3, Interesting)
We weren't really aiming at HTML users.
I'm afraid the only useability studies of SGML tools that I saw were not released to the public. At the time I worked for a vendor of SGML-based software (e.g. including an editor, a viewer, a development environment) and it was a matter of great concern to us.
It's possible we could open up the archives of the XML Working Group, but it would mean getting the permission of several hundred people. I'll ask some people at the upcoming XM
Re: (Score:2)
I'm not talking about the usability of SGML tools, I'm talking about the usability of the syntax itself. You claimed that its cumbersome syntax was chosen because people would often have to use it without tools. In order to use that justification, you really need to compare multiple different kinds of syntactic choices experimentally, and you actually have to have some sound criteria to compare it on. Even you
Re: (Score:2)
Re: (Score:2)
I find it amusing that you're lecturing one of the creators of XML about the finer points of its lineage. SGML was quite successful long before HTML had ever hit the scene. Perhaps you've heard of SGML and a little-known app called FrameMaker that output it? I sure bet he has.
Re: (Score:2)
Mod parent back up to at least normal and hopefully higher. And metamod the modder down!
Re:Human readable & writable does matter (Score:2)
Code, XML or otherwise, have to be both writable and _readable_ by humans. You cannot work properly on code that is difficult to read.
What I essentially dislike with XML is that people keep using it for task where it is just terrible.
Storing large amount of data in XML? Doesn't scale. You can't access the data randomly, unless you keep an index on the side with offsets into the file for particular pieces of data, but then it's not longer xml. It's XML-with-some-re
Re:Human readable & writable does matter (Score:2)
As for abstracting implementation and data format, I sort of agree. But I don't see how XML not allowing arrays or including specifications for numerical types help. Those things are basic data structure just like objects and properties are. You find them in every language.
The only reason I can think of is that XML was originally designed to store rich text documents.
The c
Re:Human readable & writable does matter (Score:2)
As someone who has been involved in having to convert old binary formats, can I say..... this is way out.
Given an undocumented text format with readable markup which can be transformed with a standard mechanism (XSLT) and in any of hundreds of tools, or an undocumented binary format.
Re: (Score:2)
"Complex and verbose?"
Verbose, yes, but "complex"? Are you kidding? XML is one of the easiest formats to read, and was designed as such.
Re: (Score:2)
Also, attributes aren't compulsory. If you don't want to use them in your XML format, there is nothing making you.
YAML falls into exactly the kind of traps that XML was
Re: (Score:2)
Next, your arguments around attributes seems to also be clutching at straws. Let me shoot them down for you:
(A) If I am to use XML where XML is appropriate - that is, for the interchange of data
Re: (Score:2)
Why extrapolate your experience to everyone else?
(A) If I am to use XML where XML is appropriate - that is, for the interchange of data
No, that is not the main point of XML. One of the driving purposes behind XML was to overcome a major problem in IT - legacy data becoming unusable. In the 90s, at the time when XML was invented, there we
Re: (Score:2)
Let me give you some actual examples of when this is used. In many commercial production systems products have information associated with them as they progress through the various processes. For ex
Re: (Score:2)
Your attempt at mindreading failed, another cloud. I am stating my evaluation of how you argue: With clouded judgment. I am guessing this clouded judgment comes from having spent significant time on XML, and thus having an investment in it. You are arguing that both ways: You claim to have no investment and then start trying to get authority by referring to your ex
Re: (Score:2)
Sorry, this makes no sense. Having experience in something does not mean I have investment in that thing. I have been using Microsoft products since the 70s, but I have no loyalty or investment in them! However, I certainly consider myself an authority on many of their products, because of my experience.
Adding one more layer of indirection is usually just asking f
Nice story, but it's false. (Score:2)
Re: (Score:2)
It is known as: JavaScript
Re: (Score:2)
Except since it has no concept of a reference type, shared references will be copied and circular references are impossible. JSON is a nice structured data format -- for object mapping, it's simply unsuitable.
Re:Why XML was successful (Score:5, Insightful)
Re: (Score:2)
Such as?
Re: (Score:2)
I keep hearing this and it sees foolish every time. If you just used {} how would you easily tell which tag you were closing? It would be too easy to mistake one brace for another, especially when there are several tags. Sure it'd be more efficient: but the idea was to have something that was equally readable by machines and humans. You take any non-trivial piece of XHTML or other XML and convert it to your new {} syntax. Then go try to add some more mark-up to it. And to non-technical users it would be eve
Re: (Score:3, Funny)
I hack LISP, you insensitive clod!
Re: (Score:2)
Re:Why XML was successful (Score:5, Insightful)
Re: (Score:2)
Yes, because only PHBs would be interested in portable data that can be easily transformed, and have new formats added without losing old data.
I mean, developers would never want that, would then?
YAML (Score:2)
Take a look at YAML [yaml.org]. That looks programmer friendly.
Unfortunately I'm a Java developer... (Score:5, Funny)
Re: (Score:2)
Nothing makes a set of code harder to deal with than taking half of it and writing it in a variety of XML config files and then scattering them throughout the distribution. That way you ensure that anyone doing something foolish like trying to understand it through javadoc or use their IDE to learn it gets nowhere.
I'm going to go cry now.
Re:Unfortunately I'm a Java developer... (Score:5, Interesting)
Pro
Eventually we settled on gzipped xml. It required a little more code, but everyone seemed happy. Oh, and we stored images as separate
I think my experience is pretty common, though. And from experience, libxml2 + libz is still very, very fast, and there's not a (whole lot) of wasted space.
I'd like to hear other people's success stories, if anyone wants to reply... I liked reading the article, too.
Re:Unfortunately I'm a Java developer... (Score:5, Interesting)
Arguably the single biggest problem with XML that causes slow processing is that software can predict almost nothing about an XML stream and therefore has to allow for anything. The opening bracket tells you very little about what to expect, and creates few implicit failure or non-conformance tests that allows one to terminate processing because there is no definition of "unreasonable". If I want to embed a terabyte of data between XML tags, there is no built-in basic mechanism to inform the software of how much data I should expect to see before a closing tag and no basic mechanism to cue the software as to the type of data to expect. (Yes, you can sort of do it with lots of other layers strapped on, but it isn't core and strapping it on adds complexity.) This is the primary reason it gives miserable performance as a wire protocol format -- the software cannot make decisions about the data without slurping most or all of it, with no way to predict what "most" or "all" actually is. In well engineered standards such as ASN.1, they use the good old tag-length-value (TLV) format. The "tag" tells you what to expect, the length tells you how many bytes to expect, and the value is the actual data. In short, the encoding tells the software exactly what it is about to do before it does it in enough detail that the software can make smart and performant handling decisions.
The only real advantage XML has is that it is (sort of) human readable. Raw TLV formatted documents are a bit opaque, but they can be trivially converted into an XML-like format with no loss (and back) without giving software parsers headaches. There is buckets of irony that the deficiencies of XML are being fixed by essentially converting it to ASN.1 style formats so that machines can parse them with maximum efficiency. Yet another case of computer science history repeating itself. XML is not useful for much more than a presentation layer, and the fact that it is often treated as far more is ridiculous.
Re: (Score:2)
Actually, it is not. Many people I know, and me, have trouble looking at XML config files that span more than a few rows. You need a tool that presents the XML document as a tree, so you can collapse some nodes in order to focus in the interesting ones.
Re: (Score:2)
There's no secret binary is faster. I imagine you can make a lot more compact datastructures with TLV encoding, and codes instead of actual tag names. Do I care? No. XML is brillient for everything I use it for, and if there's a better way to encode XML for some edge cases fine. If you want to go "maximum efficiency" I'm sure you c
Re: (Score:2)
Re: (Score:2)
Just in time for the festive season (Score:5, Funny)
Then with every following year, I'll be sending a stylesheet card which they can apply to the original XML.
And if they need to locate their names on the card, they can use
No mention of XML's creators? (Score:3, Informative)
Re:No mention of XML's creators? (Score:5, Informative)
I have to do this once per year or so, here's the 2006 iteration: I am not XML's inventor. There were 150 people in the debating society and 11 people in the voting cabal and 3 co-editors of the spec. Of the core group, I (a) was the loudest mouth, (b) was independent so I didn't have to get PR clearance to talk, and (c) don't mind marketing work.
-Tim
Don't feel too bad, Tim (Score:5, Funny)
Re: (Score:2)
Re: (Score:2, Funny)
Re: (Score:2)
Re: (Score:3, Informative)
news flash (Score:2, Insightful)
Cultural Effects? This is a spec for structuring data, not a Picasso.
Re: (Score:2)
Philistine. You just don't appreciate abstraction.
8^)
Re: (Score:2)
Oh, so text isn't "data"?
idiot.
XML Decade? (Score:5, Funny)
MCMXC was 1990...
MDCCCLX was 1860...
I give up! Which decade was XML?
- RG>
Re: (Score:2)
Re: (Score:3, Informative)
Re: (Score:2)
XML is non-convertable.
It's as much 1040 as it is 1060 as it is -940 (MX = 990, which is before the L). All of which are wrong answers.
It's like the Roman "divide by nero error".
Re: (Score:2)
Re: (Score:2)
XML = 1040
Oh, those 40's were great too. Lots of good gossip. Macbeth killed Duncan. William the Conqueror took Normandy. There was that business with Zoe, Michael, Theodora and Constantine in the Eastern Roman Empire. Oh, and don't get me started on the Simonious Popes.
Re: (Score:2)
Not a good decade if you were a king called Harold. A good decade if you were after inspiration for that big tapestry you were itching to start work on.
Stuck (Score:2, Insightful)
Yay! Lets party!
XML is for data interchange, nothing else. Unfortunately, it's being used for everything but.
Re: (Score:2, Insightful)
Isn't all data interchanged? From client to server, from blogger to browser, from developer to developer, etc. Any data which is not interchanged is either useless or forgotten. And XML has shown its strength in all these areas: Ease of human and computer parsing.
Re: (Score:2)
Eivind.
Re: (Score:2)
100% agree'd.
XML done "right" (with all the abstraction fluff that your eclipse-jockeys deem necessary)
quickly becomes totally unreadable.
And as if the brace and quotes soup wasn't bad enough the XML files that you meet in reality
are usually poorly indented, too.
This means that in practice you need a special XML viewer software (or editor support)
to make sense of a non-trivial XML document anyways.
So, why not just store the meat as well condensed binary blob
that can be sliced
Re: (Score:2)
Also, parsing XML isn't exactly easy for computers either. Especially because it is so flexible, the parser has to be written very generically. This has the benefit of only having to write one generic parser (which is good), but something still has to drive that parser to interpret the information, and that can get compilcat
Re: (Score:2)
Well, what do yoou call data? There are quite a lot of XML-based languages, including programming languages, like XSLT. XSLT is basically the ultimate XML language, because it's in XML and it's made to operate on XML. So you could use XSLT to generate the XSLT you want to handle your data, or crazy stuff like that.
Re: (Score:2)
As for a party, what the hell, any excuse is fine by me!
Re: (Score:2)
This occurrred to me when I had to reverse-engineer a format of concatenated ASCII lines mostly containing sets of small integers with strings intersparsed (ie. "1\n0\n22 12\nbrown\ngreen\n12 11 12 10 9 13 14\n5 5 6 3 3 2 3 3") and had to come up with an own format to store the data in. Just in case in the future someone has to write a replacement for my s
just plain wrong (Score:2)
a decade of ... (Score:3, Insightful)
notice too late (Score:2)
Bah, it's too late to tell us to celebrate during the decade of XML because that decade is now over!
Yeah, should have done that; celebrating.
Ten years of XML ... (Score:2)
L
Can someone explain why I should care? (Score:2)
I see XML as a glorified CSV file. Instead of being a two-dimensional representation of a data structure, you can use an N-dimensional representation.
If that's all it was, I wouldn't mind. But it gets so much hype. Why?
XML is Lisp in drag (n/t) (Score:2)
XML is a nescessary evil... (Score:2)
XML is a nescessary evil. Even though it's slow and inefficent, it's a good system for quickly developing a parser for varied file types without having to design an editor.
Acedemicly-pure XML is just needless overkill, IMO.
Re: (Score:3, Interesting)
<content name="Shameless Self Promotion">
Good point, though there's a better way to edit binary files.
For example, I make a product called FileCarver which allows you to create a file format definition (in XML! heh), that describes the format of a binary file, and the program will automatically provide you with a GUI to edit it. Check it out at http:/fizzysoft.net/filecarver/
</content>
Re:XML "Sucks" (Score:4, Funny)
Re:XML "Sucks" (Score:5, Funny)
Re: (Score:2)
This article [prescod.net] argues the other side of that point. I'm not sure how convincing it is, but there are at least some benefits to the XML approach. Where the balance falls, I don't know.
Re: (Score:2)
Here are some counterarguments:
Wrapping text up in double quotes is not a problem. In XML, text must be wrapped up in tags. In S-expressions, it must be a literal.
Re: (Score:2)
You wouldn't have to save much time for developers or users to justify adding a whole lot of that, would you?
Re:JSON itself is still quite bloated. (Score:4, Insightful)
The formatting strings in Janus controls come to mind.
I have heard that the new Office format (XML) was pretty unreadable.
And what is with modding everything in this thread to zero.
Re: (Score:2)
Of course not... <foo>[10 billion chars of base64 junk</foo> is still valid XML. The point is that XML can be, in particular without having to write complex debugging functions. For an XML under 8192 chars (usually enough anyway):
qDebug() doc.toString();
That's it, done I have a debug function. Now write me one for that binary format or SGML or whatnot. XML is "developer-readable" if not "human-readable" by people at large. That is the simple reason it's popular
Re: (Score:2)
qDebug() << doc.toString();
Re: (Score:2)
are not base64 encoded garbage, but are not readable. It is just one
runon string. Like English without punctuation or spaces or new lines.
Anyway, my critisism was aimed at those who misuse XML, not at XML
itself. XML is an excellent way to represent data, and as a programmer,
I really appreciate what it brings to the table. It does not cure
cancer, or eliminate world hunger, and should be used when appropriate,
and in appropriate ways.
Re: (Score:2)
Why, just the other day my skull was bashed in by
a perfectly good hammer.
Re: (Score:2, Informative)
Supposedly the new version 3 standard (which uses the "modeling approach") will be much more firm with the implementors, which will hopefully mean that ever
Re: (Score:2)
We run across the same problems for every interface we set up as well. But the reason usually isn't that the base format isn't different (although that does occur). It usually arises from one company wanting some arbitrary piece of data that the official "spec" didn't outline in all of its loosey-goosey glory.
We are hopeful that v3 is going to solve some of the minor issues, but they just better not get too overzealous and not leave room for the "unexpected." How
Re: (Score:2)
It flows better this way, and I think it originally referred to sex instead of XML:
XML is like violence. If it's not solving your problem, just use more.
Re:XML -- The answer to a problem that didn't exis (Score:2)
You are trolling, right? Your rant basically consists of few obvious misunderstandings or statements that are factually wrong.
Seems like a knee-jerk reaction from someone who doesn't understand what XML is and its intended purpose. Seeing the HTML remark was rather amusing though. Way to go to show your ignorance on the subject.
BTW: XML is not designed to or intended to be a SQL replacement. Only morons would think that, claim that or use it as such.
ASN.1 (Score:2)