DTD(Document Type Definition)はXML文書の構造を定義するための宣言です。XML文書の中で使用されるタグ、属性、エンティティ、コンポーネントの種類、順序やネスト方法などを指定することができます。XMLのコード規約のようなイメージですね。
実際のDTD
以下にDTDの例を示してみます。
<!DOCTYPE cars [
<!ELEMENT cars (car+)>
<!ELEMENT car (name, price)>
<!ELEMENT name (#PCDATA)>
<!ELEMENT price (#PCDATA)>
]>
解説すると
ルート要素としてcarsが含まれている必要があります。
cars要素は1つ以上のcar要素を持つことができます。
car要素はnameとprice要素を持つ必要があります。
name、price要素はPCDATA(解析可能な文字データ)を含めることができます。
となります。
以下DTDに沿ってタグを追加した例を示します。
<!DOCTYPE cars [
<!ELEMENT cars (car+)>
<!ELEMENT car (name, price)>
<!ELEMENT name (#PCDATA)>
<!ELEMENT price (#PCDATA)>
]>
<cars>
<car>
<name>Volvo</name>
<price>50000</price>
</car>
<car>
<name>Peugeot</name>
<price>30000</price>
</car>
</cars>
DTDのルール通りにタグが構成されています。このような形で文章を定義することによって大規模なプロジェクトなどでは整合性が保たれるというメリットを出せます。
コメントを残す