DTDチュートリアル
DTDとは何ですか?
DTDは、ドキュメントタイプ定義です。
DTDは、XMLドキュメントの構造と有効な要素および属性を定義します。
なぜDTDを使用するのですか?
DTDを使用すると、独立した人々のグループが、データを交換するための標準DTDについて合意できます。
アプリケーションはDTDを使用して、XMLデータが有効であることを確認できます。
内部DTD宣言
DTDがXMLファイル内で宣言されている場合は、<!DOCTYPE>定義内でラップする必要があります。
内部DTDを含むXMLドキュメント
<?xml version="1.0"?>
<!DOCTYPE note [
<!ELEMENT note (to,from,heading,body)>
<!ELEMENT to (#PCDATA)>
<!ELEMENT from (#PCDATA)>
<!ELEMENT heading (#PCDATA)>
<!ELEMENT body (#PCDATA)>
]>
<note>
<to>Tove</to>
<from>Jani</from>
<heading>Reminder</heading>
<body>Don't forget me this weekend</body>
</note>
XMLファイルを表示»
XMLファイルで、「ソースの表示」を選択してDTDを表示します。
上記のDTDは次のように解釈されます。
- !DOCTYPE note は、このドキュメントのルート要素がnoteであることを定義します
- !ELEMENT note は、note要素に「to、from、heading、body」の4つの要素が含まれている必要があることを定義しています。
- !ELEMENT は、to要素を「#PCDATA」タイプに定義します。
- !ELEMENT from は、from要素を「#PCDATA」タイプに定義します
- !ELEMENT見出しは、見出し要素が「#PCDATA」タイプになるように定義します。
- !ELEMENT bodyは、body要素を「#PCDATA」タイプとして定義します
外部DTD宣言
DTDが外部ファイルで宣言されている場合、<!DOCTYPE>定義にはDTDファイルへの参照が含まれている必要があります。
外部DTDへの参照を含むXMLドキュメント
<?xml version="1.0"?>
<!DOCTYPE note SYSTEM "note.dtd">
<note>
<to>Tove</to>
<from>Jani</from>
<heading>Reminder</heading>
<body>Don't forget me this weekend!</body>
</note>
XMLファイルを表示»
そして、これがDTDを含むファイル「note.dtd」です。
<!ELEMENT note (to,from,heading,body)>
<!ELEMENT to (#PCDATA)>
<!ELEMENT from (#PCDATA)>
<!ELEMENT heading (#PCDATA)>
<!ELEMENT body (#PCDATA)>