村田真のXMLブログ
日本人で唯一W3CのXMLワーキンググループに参加しXMLの標準化プロセスに携わったXMLの生みの親、村田真さんのブログです。
SC34/WG4コペンハーゲン会議
コペンハーゲン会議(6/22-24)を終え、正誤表と補遺の作成が順調に進んでいる。
正誤表はSC34の投票一回で出版されるが、補遺はさらにJTC1での投票が必要
となる。
今回の補遺はごく小さい拡張である。この程度の規模の拡張ならふつうは正誤表
で済ませるのだが、OOXMLなので慎重に補遺とすることになった。なお、SGMLを
XML互換にする(たとえば<foo/>のような空要素タグを許す)というWebSGML
は、正誤表によって制定されている。
名前空間の変更
今回の補遺でもっとも大きいのは、名前空間の変更である。以下、背景を説明する。
Ecma OOXML 1st editionと、ISO/IEC 29500:2008とでは、いろいろな違いがあるの
にも関わらず、名前空間は同じである。したがって、文書の先頭を見ただけで、
Ecma OOXML 1st editionなのかISO/IEC 29500:2008とを区別する方法はない。実際、
多くのOOXML文書において、それがEcma OOXML 1st editionに従うのか
ISO/IEC 29500:2008に従うのかは簡単には決定できない。
区別できないということは、良い点も悪い点もある。良い点の一つは、ISO/IEC 29500:2008に従う
多くのOOXML文書が、Ecma OOXML 1st editionに従う実装でも動くということである。
悪い点の一つは、動いてしまったときひっそりとデータが化けるということである。とくに、
ISO/IEC 29500:2008に従うスプレッドシートがISO 8601に従った日付を含んでいると、
その日付が誤って解釈される。
名前空間を変更するかしないかで長い議論があった。簡単に言うと、データが化けるか、
クラッシュするかの選択である。名前空間を変えないとデータが化けるだろうし、
変えると既存実装はクラッシュするだろう。結論から言うと、適合性クラスstrictでは
変え、transitionalでは変えないということになった。この決定の結果、strictと
transitionalの関係は、単なるサブセットではなくなる。この方針にしたがって、
いま補遺を作成中である。
ISO 8601の日付
transitionalでは依然としてデータが化ける可能性が残っている。文書を作成した
ソフトウェアがなんであるかを利用するなどして判定すれば十分であるという意見
もある(実装もある)。既存の実装がすぐになくなる訳ではないのだから、それでは
不十分だという意見もある。後者は、ISO 8601に従った日付がとくに化けやすい
ので、transitionalから削除することを主張している。なお、ISO 8601に従った日付
を用いるは当面は少ないと予想されるが確実ではない。
transitionalから、ISO 8601に従った日付を消すかどうかについては、いまだに
決着していない。次回の電話会議で決着させるつもりで、さまざまの折衝が行われ
ているところである。国内からの意見があれば、この記事へのコメントとして提出
されたし。
投稿者: 村田 真 / 日時: 2009.07.05
トラックバック
このエントリーのトラックバックURL:
http://blog.xmlmaster.org/mta/mt-tb.cgi/99
関連情報
<< 前回の記事:「OOXMLの欠陥への対処」