XMLは未だに1.0?
OpenSocial JavaScript APIを実際に使って動作確認を最近数多くこなしているが、その際に気がついたことがある。
「XMLって、未だにversion=”1.0″としか書いたことがない」
皆さんは、version=”1.1″ と書いたことがありますか?「version=”2.0″にいつなるんだろう?」とか考えたことはありませんか?
これ、実はすごいことで、最初のXML 1.0の勧告がW3Cからされたのは、今をさかのぼること何と10年前の1998年2月10日。途中でXML 1.1の勧告やXML 2.0に関する議論が行われたこともあったけど、10年という長い間、Version 1.0がこのネット時代を支えてきたことになる。
ではXML 1.0の歴史は10年間なのか?というと、実際には半分嘘。XML登場以前の約12年間、その前身となったSGMLが徐々に成熟してきた成果がそのままXMLに反映されているために、SGMLも含めたXMLの歴史は、すでに20年以上も経過していることになる。つまり、「XMLって10年も同じバージョンなのか、すごいなー」という印象ではなく、実際には「XMLって20年以上も同じバージョンなのか、すごいなー」という印象を持つべきかもしれない。ちょっと乱暴だけど。ちなみに、SGMLの前身にGMLという仕様もあり、GMLは1960年代から1970年代にかけてIBMの社内文書で使われていた。文字情報のマークアップという発想は、僕が生まれた1975年以前からあったということになる。
昔話はさておき、XML 1.0が10年もの間使われ続けてきた歴史は、個人的には「最小限の仕様策定という方向性が正しかった証明」と言えるのではないかと思う。つまり、SGMLやDSSSLなどの歴史を踏まえて、重量級な仕様ではなく最小セットの仕様とすることで、XML 1.0の仕様を崩すことなく新しく外部の仕様で補完してあげることで未知の仕様追加に対応する、といった今日では当たり前な考え方を最初に実証した例ではないかと考えられる。
YAMLなどのアンチXML仕様が一般的な大多数になっているかというと、そうはなっていない。やっぱりXMLはVersion 1.0のまま、今日もその利用は拡大し続けている。version=”1.0″と書くたびに「XMLの仕様って、やっぱりすごいんだなぁ」と思う今日この頃である。




2000年頃、来日したjon Bosakさんに、”Will there be an XML1.1 or XML2.0 in the foreseeable future?” と質問したことを思い出しました。5分ほど熟考した後で、ニッコリ笑って、”No.” と言って説明をしてくれたことを懐かしく思い出しました。