|
|
 |
| >IT技術情報>Java>はじめてのXML:第2回:DTD
|
 |
 |
|
XMLは自由にタグを定義することができるため、さまざまなデータを表現することができが、XML文書をデータとして活用するためには、データを扱う人々同士で、どのようなタグを使ってXML文書でデータを表すのかを決めておく必要があります。この決め事を作るのがスキーマ言語であり、もっとも古くからある基本的なものとしてDTDがあります。本稿では、DTDの文法を中心に解説します。
|
流郷俊彦
株式会社アイティーブースト
2004/6/28 |
|
 |
|
 |
 |
【目次】
1.はじめに
2.DTDの必要性
3.DTD文法
3_1.要素宣言
3_2.属性宣言
3_3.属性値の候補
3_4.デフォルト指定
4.内部サブセットと外部サブセット
5.実体宣言
5_1.一般実体
5_2.パラメータ実体
6.最後に
|
 |
1.はじめに
XMLは自由にタグを定義することができるため、さまざまなデータを表現することができます。しかし、例えばXMLで書かれたデータを別の会社とやり取りするようなケースを考えると、各会社が別々にタグを定義していてはタグを解釈するプログラムも幾つも必要になり非効率的です。
XML文書をデータとして活用するためには、データを扱う人々同士で、どのようなタグを使ってXML文書でデータを表すのかを決めておく必要があります。この決め事を作るのがスキーマ言語であり、もっとも古くからある基本的なものとしてDTDがあります。スキーマ言語で与えられた制約に従って記述されたXML文書を妥当なXMLと呼びます。スキーマ言語によって制約を与えることによりXML文書の構造を定義することができますので、異なるアプリケーション間でデータを共有することが可能です。
今回の記事ではDTDを使用して妥当なXMLを作成する方法について学習します。DTDは導入実績も多く、覚えやすいので、他のスキーマ言語を学習する際にも役立ちます。
2.DTDの必要性
DTD(Document Type Definition)は、スキーマ言語の一つです。スキーマ言語とは、XMLインスタンスの要素や属性の関連性やデータに制約を与え、具体的な文章構造を定義します。次のXML文書をみてください。
<?xml version="1.0" encoding="Shift_JIS" ?>
<fruit-list>
<fruit>
<name>りんご</name>
<price>100</price>
</fruit>
</fruit-list> |
これは果物とその価格を表すXMLファイルです。特に問題のないXML文書のように思えますが、このままでは以下のようなことができてしまいます。
<?xml version="1.0" encoding="Shift_JIS" ?>
<fruit-list>
<fruit>
<name>りんご</name>
<price>100</price>
</fruit>
<fruit>
<price>50</price>
</fruit>
</fruit-list> |
これでは2つ目の果物が何なのかがわかりません。しかし、これも1つの正しい構文をしたXML文書です。これは極端な例ですが、複数の人が同じXML文書を扱う場合、このような問題が生じる可能性があります。そこで、DTDを使用することにより<fruit-list>の中には<fruit>が、<fruit>の中には<name>と<price>があらわれなければならないという制約を与えることができます。DTDは「データを扱う人同士で、どのようなタグを使ってXML文書でデータを表すのかを取り決める」ための言語であるといえます。
>>次のページへ
|
 |
【 ページ 】 | 1 | 2
| 3
| 4
| 5
|
|
 |
【 関連記事 】
|
|
 |
 |
|
サイト内全文検索 |
| スタックアスタリスクのサイトを検索します。検索には、Googleを利用しています。そのため、最新の情報で検索されない可能性があります。 |
|