このページの本文へ

前へ 1 2 次へ

DTDからXML Schemaへ

XMLの常識

2000年11月08日 00時07分更新

文● 及川晴生

  • この記事をはてなブックマークに追加
  • 本文印刷

 10月24日、W3Cからスキーマを定義するための規格である「XML Schema」の勧告候補が公開された。今回は、なぜXML Schemaが必要なのかについて解説したい。

 XMLとHTMLという2つの規格の違いは、今さらいうまでもないが、XMLは自由にタグを作ることができ、HTMLはすでにタグが決まっているという点がまず大きい。XMLは規格上でタグを作るための枠組みが規定されているだけで、その枠組みのなかで自由にタグを定義して使えるというのが特徴になっている。では、タグを定義するというのはどういったことだろうか。

 まず最初に思いつくのはタグの名前を決めていくことだろう。住所録をXMLで記録したい場合なら、<名前>や<住所>、<会社名>、<電話番号>、<ファクス番号>、さらには<携帯電話>や<メールアドレス>といったタグも必要かもしれない。性別を名前の属性、あるいは郵便番号を住所の属性として表わしたい場合なら、「性別」「郵便番号」といった属性の名前も定義することになる。また、こうした個人個人のデータをまとめるためのタグとして、<住所録>というタグを利用する。

 ただ、これだけではXML文書にはならない。というのもXMLの規格では、全体のタグを括る、おおもととなる唯一のタグが必要と定められているためだ。ここでは<adml>というタグを全体を括るためのタグとして利用することにしよう。この<adml>タグの下にあるのは<住所録>タグだけで、それ以外のタグが現われてはならない。<adml>タグの下に、無秩序に<名前>や<住所>といったタグが現われてしまうと、その名前がどの住所に対応しているのか分からなくなってしまうためだ。これでひととおりXML文書を作成するための枠組みを作れたことになる。以下が、まとめて書き出したものだ。

  • 全体を括るのは<adml>タグ
  • <adml>タグの下には<住所録>タグがある
  • <住所録>タグの下には<名前><住所><会社名><電話番号><ファクス番号><携帯電話><メールアドレス>というタグが並べられる
  • <名前>タグは「性別」という属性を持つ
  • <住所>タグは「郵便番号」という属性を持つ

 このように、タグや属性の名前、そしてそれぞれのタグが現われる順番といった文書の構造を規定したものがスキーマである(実際にはもう少し決めることがあるが)。たとえばこのスキーマに従って、以下のようなXML文書を作成することができる。

<?xml version="1.0" encoding="Shift_JIS"?>
<adml>
<住所録>
<名前 性別="男">及川晴生</名前>
<住所 郵便番号="151-xxxx">東京都渋谷区代々木x-xx-xx</住所>
<会社名>明日木商事</会社名>
<電話番号>03-5xxx-xxxx</電話番号>
<ファクス番号>03-5xxx-xxxx</ファクス番号>
<携帯電話>090-9xxx-xxxx</形態電話>
<メールアドレス>oikawa@xxx.xxxx.co.jp</メールアドレス>
こうしたユーザーが規定したタグの集まり(タグの名前やそれぞれの属性、あるいはその文書の構造)が「スキーマ」と呼ばれているものだ。XMLは、こうした何らかのスキーマに従ってタグや属性を使って文書を作成していく。

前へ 1 2 次へ

カテゴリートップへ

アスキー・ビジネスセレクション

ASCII.jp ビジネスヘッドライン

ピックアップ