投稿日時:

XMLについて(その1)XMLについて(その2)に続き、今回も「XMLはCSVと比較して何が優れているのだろうか?」をテーマにお話をしたいと思います。

XMLの優れたポイントの一つは、

ルールを強制する事ができる

この点であることを今回はぜひ覚えていただければと思います。

CSVは論理定義=強制力の無い定義です。

id, name
1, A太郎
2, B太郎
3, C太郎

順番はid、name。idは整数型。nameは文字列型。idはユニークで重複してはいけない。
このようなルールを設けても、それは強制力の無い「口約束」的なものになります。
実際、このデータにどのような記述をしても、エラーは発生しません。

一方でXMLでは物理定義=強制力の有る定義を設定することができます。

XMLでは「DTD(Document Type Definition)」か「XML Schema」で定義を設定することができます。
DTDはシンプルで使いやすいのですが、詳細な設定を行うにはXML Schemaの方が適しているため、現在はXML Schemaが主流になっています。

サンプルを提供しますので、ダウンロードはコチラからどうぞ。
XMLはテキストファイルなので、何かしらのテキストエディタを使用してご確認ください。

XML SchemaではXMLファイルと定義を記述したXSDファイル(拡張子がxsdであって中身はXML形式のファイル)の2つのファイルを用意します。
(DTDでもXMLファイルと定義ファイルは分離可能です)

全員がXSDファイルのルールに準拠してXMLファイルを作成すれば、不特定多数でデータファイルを送受信しても、フォーマットが異なることに起因するトラブルを軽減することが可能となります。

XML専用エディタ(VisualStudioやEclipse等開発ツールに付属している事が多い)には検証機能が付いており、ルールに準拠しない場合はエラーを表示させることが可能です。
また、プログラムでXMLを読み込む際も、定義に合致しているかを簡単に検証可能です。

XMLではDTDやXML Schemaによる定義の強制が無いものを「整形式のXML文書」、定義を強制したものを「妥当なXML文書」と称します。
用途に合わせて、使い分ける事ができるのもXMLの特徴です。

(担当:奥田 英太郎