なぜXML Schemaを使用するべきですか?

XML SchemaはDTDよりも強力です

XML Schemaはデータ型をサポートします

XML Schemaの最も重要な能力の1つは、データ型のサポートです。

データ型のサポートを通じて:

  • 許可されるドキュメント内容をより簡単に説明できます
  • データの正確性をより簡単に確認できます
  • データベースからのデータと一緒に作業をより簡単に行えます
  • データ制約(data facets)をより簡単に定義できます
  • データモデル(またはデータフォーマット)をより簡単に定義できます
  • 異なるデータ型間でのデータの変換をより簡単に行えます

編者注:データ制約、またはfacetは、XML Schemaのプロトタイプの用語であり、中国語では「面」と翻訳できます。データ型の許可値を制約するために使用されます。

XML SchemaはXML语法を使用します

XML Schemaの重要な特性の1つは、それらがXMLで書かれていることです。

XMLで書かれたXML Schemaには多くの利点があります:

  • 新しい言語を学ぶ必要はありません
  • XML エディタを使用して Schema ファイルを編集できます
  • XML パーサーを使用して Schema ファイルを解析できます
  • XML DOM を通じて Schema を処理できます
  • XSLT を通じて Schema を変換できます

XML Schema はデータ通信を保護できます

データが送信元から送信元に送信される際、双方が内容について同じ「期待値」を持っていることが重要です。

XML Schema を通じて、送信元はデータを送信元が理解できる方法で説明できます。

例えば「03-11-2004」というデータは、ある国では11月3日として解釈され、別の国では3月11日として解釈されます。

しかし、データ型を持つ XML 要素、例えば:<date type="date">2004-03-11</date> は、内容の一貫した理解を確保できます。なぜなら、XMLのデータ型「date」は「YYYY-MM-DD」の形式を要求するからです。

XML Schema は拡張可能です

XML Schema は XML で書かれているため、拡張可能です。

拡張可能な Schema 定義を通じて、以下のことができます:

  • 他の Schema であなたの Schema を再利用します
  • 標準のタイプから派生したあなた自身のデータタイプを作成します
  • 同じドキュメントで複数の Schema を参照する

形式が良いだけでは十分ではありません

形式が良い XML ドキュメントとは、以下のようなものです:

  • XML宣言で始まる必要があります
  • ユニークなルート要素を持たなければなりません
  • 開始タグは終了タグと一致する必要があります
  • 要素は大文字小文字を区別します
  • すべての要素は閉じられなければなりません
  • すべての要素は正しくネストされなければなりません
  • 特殊文字にはエンティティを使用する必要があります

ドキュメントの形式が良くても、エラーが含まれていないことを保証できません。これらのエラーは深刻な結果をもたらす可能性があります。

以下の状況を検討してください:あなたは5セットのレーザープリンターを注文しましたが、5台ではありません。XML Schema を使用すると、このような多くのエラーがあなたのバリデーションソフトウェアでキャッチされます。