CTO Articles

Home > News > CTO Articles

Published in IT World
E-Business in the Enterprise – February 15, 2005

Master Foo explains XML to Aliens

By Sean Mc Grath

When they finally came to Earth, the aliens surprised everyone.

They are approximately the shape of beachballs with thirty-two multi-purpose extending 'arms' used for movement and manipulating objects. The entire surface of their bodies is photosensitive allowing them to look at monitors and TV sets created for 360 degree vision. This is great for command shell usage and for watching ball games.

All inter-alien communications is an ultra high frequency digital encoding using a public/private key encryption mechanism tied to their very DNA. The aliens are, on average, pretty smart with strange dietary habits and an even stranger sense of humor. In short, the aliens turned out to be just like we might imagine human computer geeks in the year 3300 or so.

Now it came as a major surprise to Earth's computer scientists that the aliens had never independently developed something like XML although they had developed their own technologies that looked remarkably like Unix, Python and MySQL.

In an effort to better understand this 'omission' from their own repertoire of computing excellence, the aliens undertook a trip to Silicon Valley to meet with Master Foo - the wisest geek on planet Earth. Herewith, a transcript of the start of their conversation.

Aliens: Master Foo, please tell us, what does your 'XML' technology do?

Master Foo: It does nothing and everything.

Aliens: Very profound. We can tell this is not going to be easy. Let us try again. What is XML?

Master Foo: It is a meta-language for hierarchical data. A language with which to create other languages. These languages can in turn be used to capture the structure of information with the raw information itself. Used wisely, it can help make information self-descriptive. Used wisely, it is possible to automate the process of checking the structure of information using tools called parsers.

Aliens: Ah. So it is the system you use for hierarchical data such as written language - text as you call it. That makes sense. You have a separate technology for relational data that does not feature ragged hierarchy or recursion?

Master Foo: No, increasingly all that data is in XML too.

Aliens: Oh. That is somewhat surprising. What about knowledge representation? Fundamental building blocks such as subject, predicate, object triples, you have another technology for that form of data presumably?

Master Foo: No, increasingly all that data is in XML too.

Aliens: We are surprised. Surely the programming models, the APIs, you would wish to use for hierarchies, tables and graphs are so different that a single data model gets you an uncomfortable lowest common denominator model? It sounds unpleasant. Perhaps you Earthlings have created different programming models suitable for the three universal data types?

Master Foo: No, SAX, DOM and string processing are the standard paradigms, regardless of the type of data. Documents, database tables, knowledge - we process them all the same way.

Aliens: Including mixed content?

Master Foo: 66.66% of XML's user base think mixed content is a form of snack food.

Aliens: I see. Let me ask you about SAX...

And so the conversation between Master Foo and the Aliens continued long into the night. In the morning, Master Foo popped up his instant messenger client to tell the world of his encounter with the aliens.

'They have not invented XML', he said, 'because they do not need it.'. Instead, they have developed technologies that we would probably call CSV++, XHTML++ and N3++[1]. Looks very sensible to me. I'm going back to their place. Bye.'.

Master Foo left to live with the aliens. That surprised everyone.

[1] http://www.w3.org/DesignIssues/Notation3.html