XMLスキーマをなぜ使用するのでしょうか?
XML Schemasは、DTDよりも非常に強力です。
XMLスキーマはデータ型をサポートします
XMLスキーマが強力であるものの1つは、データ型をサポートすることです。
データ型のサポートにより:
- 正当な文書内容を記述することがより容易になります
- データの正しさを検証することがより容易になります
- データベースからのデータを扱う作業がより容易になります
- データファセット(データの制約)の定義がより容易になります
- データパターン(データフォーマット)の定義がより容易になります
- 異なるデータ型間でのデータ変換がより容易になります
XMLスキーマはXML構文を使用します
XMLスキーマに関して、もう一つの大きな強みは、XMLで記述するということです。
XMLスキーマをXMLで書くことの幾つかの利点:
- 新しい言語を学ぶ必要がありません
- スキーマファイルを編集するために、XMLエディタを使用できます
- スキーマファイルをパースするため、XMLパーサを用いることができます
- XML DOMでスキーマを処理できます
- XSLTでスキーマを変換できます
XMLスキーマは安全なデータ通信です
送信者から受信者にデータを送る時には、両者ともに、内容が同じと"予想"することは不可欠です。
XMLスキーマにより、送信者は、受信者が分かるような方法でデータを記述することができます。
日付: "03-11-2004" は、ある国では11月3日と解釈されたり、
また或る国では3月11日と解釈されたりすることがあります。
しかし、このようなデータ型を持つXML要素は:
<date type="date">2004-03-11</date>
XMLデータ型"date"は"YYYY-MM-DD"というフォーマットを要求するので、
相互に内容を理解し合うことが保証されます。
スキーマは拡張可能です
XMLスキーマは、XMLで書くので拡張可能です。
拡張可能なスキーマ定義により、以下のことができます:
- 他スキーマへのスキーマの再利用
- 標準のタイプから得られた自身のデータ型の作成
- 同一文書で複数スキーマの参照
整形式は十分ではありません
整形式のXML文書は、以下のようにXML構文規則に一致している文書です:
- XML宣言から始めなければなりません
- 1つのユニークなルート要素を持っていなければなりません
- 開始タグは、対となる終了タグを持っていなければなりません
- 要素は、大文字と小文字を区別します
- すべての要素を閉じなければなりません
- すべての要素を適切にネストしなければなりません
- すべての属性値は、引用符で括らなければなりません
- 特殊文字には、エンティティを使用しなければなりません
たとえ文書が整形式でも、まだエラーを含んでいることもあり、そのエラーが重大な結果をもたらすことがあります。
以下の状況を考えてみてください:
5台のレーザープリンタを、誤って5グロス(1グロス:12ダース)注文したとします。
XMLスキーマにより、妥当性確認用のソフトウェアは、これらの誤りの大部分を捕らえることができます。
|