DTDはどんなとき必要なの? | |
XMLにDTDは必須ではないとのことですが、どのようなケースでは必要で、どのようなケースでは不要なのでしょうか? |
回答/富士ソフトABC株式会社 技術センター
2001/9/14
DTDは「スキーマ記述言語」もしくは「スキーマ言語」と呼ばれ、XML文書で使える構成要素、つまりタグの種類や構造を記述する仕様です。スキーマ言語にはほかにもXML SchemaやRELAXなどがあります(詳しくは「スキーマっていったい何?どんな役割をするものですか?」の回答を参照してください)。
受発注書や請求書、ビジネス文書など特定の用途に使用されるXML文書は、構造が統一されていればシステムの開発が容易になります(受け取るXML文書の構造がまちまちであるようなシステムの構築は、現実的ではないでしょう)。そのために、ビジネスとしてXML文書で情報交換などをする場合には、あらかじめスキーマ言語でXML文書構造を定義・統一しておくことが一般的です。スキーマ言語を使用して構造を定義しておけば、XMLパーサで文書の妥当性をチェックし、文書構造の統一が保証されるため、アプリケーションで文書を集計したり、統計やグラフを作成したりすることが容易にできるようになります。
DTDなどのスキーマ言語を使用する利点は、その言語の作成者以外の人でも、まったく同じ構造の文書が作成可能になり、結果として外部とのスムーズなデータのやりとりを実現することです。作成者から見れば、外部から受け取ったXML文書の構造が正しいかどうかをチェックできますし、利用者から見れば構造を間違うことなく文書を作成できるようになります。
表面的な書き方だけがXMLの仕様に従っていればいい場合、つまり一時的に使うだけのXML文書や、XMLパーサやアプリケーションの利用で文書構造が変化する場合、外部とのデータのやりとりがない場合など、特に厳密に文書構造が統一される必要がないようなXML文書は、スキーマ言語による文書構造の定義は必要ありません。
「Ask XML Expert」 |
- QAフレームワーク:仕様ガイドラインが勧告に昇格 (2005/10/21)
データベースの急速なXML対応に後押しされてか、9月に入って「XQuery」や「XPath」に関係したドラフトが一気に11本も更新された - XML勧告を記述するXMLspecとは何か (2005/10/12)
「XML 1.0勧告」はXMLspec DTDで記述され、XSLTによって生成されている。これはXMLが本当に役立っている具体的な証である - 文字符号化方式にまつわるジレンマ (2005/9/13)
文字符号化方式(UTF-8、シフトJISなど)を自動検出するには、ニワトリと卵の関係にあるジレンマを解消する仕組みが必要となる - XMLキー管理仕様(XKMS 2.0)が勧告に昇格 (2005/8/16)
セキュリティ関連のXML仕様に進展あり。また、日本発の新しいXMLソフトウェアアーキテクチャ「xfy technology」の詳細も紹介する
|
|