We are teetering on the brink of a new edition of the XML standard: XML 1.0 5th Edition to be precise. This seems like an appropriate moment to look back at the XML roller-coaster and list off some personal peeves.
- My first peeve is the "L". "L" as in "Language". If I had a dollar for every time I have tried to explain that XML is not a language in the sense that most people understand the word, I would personally be able to fund the Emergency Ecomonic Stabilization Act of 2008.
Yes, I know that meta-languages are perfectly good languages with their own notations and syntax and all that good stuff but from the perspective of most senior C-level executives and IT managers, that is too close to intellectual self-gratification for comfort.
- My second peeve is the "X". "X" as in "Extensible". If I had a dollar for every time I have tried to explain that XML is not an extensible in the sense that most people understand the word, I would have a balance sheet to rival Berkshire Hathaway. The language itself is not extensible without considerable pain (see peeve 4). What you can do very easily, is create a language with it. The language you create is not an extension of XML in the same way that a Visual Basic program is not an extension of Visual Basic.
- My third peeve is that the world never decided that round-tripping XML was sufficiently important to make it very easy. I write lots of software that eats XML and spits XML out. I am very interested in the relationship between the XML I eat and the XML I spit. I need it to be really easy to write a "null" program that eats some XML and spits out the same XML - without changing it. To do that, I need to know what "the same" means in the XML world. We have a definition of that but... well...read it and decide for yourself.
- My fourth peeve relates to versioning and citation. I work a lot with legal and regulatory material and my antennae for citation problems are, perhaps, unusually sensitive. We started with XML 1.0. Okay, fine. There were some errata. That is only to be expected. Now we have "editions" of XML 1.0. Okay. Fine. Then along came XML 1.1. Not so fine. Much angst and debate.
XML 1.1 is/was, effectively ignored in many circles. Now we have XML 1.0 fifth edition which includes a revisitation of the same swampy grasslands as XML 1.1.
I know from plenty of personal experience that naming things is a real hard problem but it is terribly irksom that XML - which is all about naming things - appears to have deep problems naming itself.