アンテナハウス株式会社
DTD(Document Type Definition)とは、非常に簡単に言いますと文書の型を定義するものです。
「XMLの基本用語」 先頭のサンプル「表」のDTDは、次のようになります。
XMLファイルにはドキュメントタイプ宣言を含むことができます。ドキュメントタイプ宣言でXMLファイルをDTDに関連付けます。
「XMLの基本用語」 先頭のサンプル「表」のXMLファイルと「表」DTDを関連付けると次のようになります。
<!DOCTYPE 表 [
<!ELEMENT 表 (データ+) >
<!ELEMENT データ (日付,勘定科目,金額,備考) >
<!ATTLIST データ record CDATA #REQUIRED >
<!ELEMENT 日付 (#PCDATA) >
<!ELEMENT 勘定科目 (#PCDATA) >
<!ELEMENT 金額 (#PCDATA) >
<!ELEMENT 備考 (#PCDATA) >
]>
<表>
<データ record="1">
<日付>5月10日</日付>
<勘定科目>交通費</勘定科目>
<金額>1,260</金額>
<備考>B社まで、タクシー</備考>
</データ>
<データ record="2">
<日付>5月10日</日付>
<勘定科目>交際費</勘定科目>
<金額>15,000</金額>
<備考>B社Aさんを接待</備考>
</データ>
<データ record="3">
<日付>5月13日</日付>
<勘定科目>会議費</勘定科目>
<金額>900 </金額>
<備考>喫茶店で打ち合せ</備考>
</データ>
<データ record="4">
<日付>5月18日</日付>
<勘定科目>交通費</勘定科目>
<金額>320 </金額>
<備考>麹町から飯田橋間</備考>
</データ>
<データ record="5">
<日付>5月20日</日付>
<勘定科目>資料費</勘定科目>
<金額>3,000</金額>
<備考>研修資料費</備考>
</データ>
<データ record="6">
<日付>5月25日</日付>
<勘定科目>資料費</勘定科目>
<金額>2,000</金額>
<備考>図書(ビジネス書)</備考>
</データ>
</表>
上のように[ ]内に置いたDTDを内部DTDと言います。
IDを使ってXMLファイルを外部DTDファイルに関連付けることができます。
「表」DTDの内容をファイル「table.dtd」に保存したとします。そのとき上述の例は次のように表すことができます。